System and method for focused navigation using filters

ABSTRACT

A sequence of cards representing filters is displayed along a first axis of a user interface with a single card being displayed in a focus area. The card in the focus area defines a selected filter, which is applied to another sequence of available options. The filtered sequence is then displayed along another (perpendicular) axis of the user interface.

BACKGROUND

1 Field of the Invention

The present invention relates generally to the field of informationsystems. More specifically, the present invention relates to a systemand method for focused navigation using filters.

2. Description of Related Background Art

Recent advances in technology have vastly increased the number ofavailable options within personal computers (PCs), interactivetelevision (ITV) systems, personal digital assistant (PDAs), cellulartelephones, and other information systems. For instance, current ITVsystems offer hundreds of broadcast channels and a variety ofinteractive options, including e-mail, videoconferencing, instantmessaging, online banking, online purchasing, and so forth.

Unfortunately, despite technological advances, user interfaces for thesesystems have remained largely unchanged, making navigation through allof the newly available options no easy task. For example, a user of amodern ITV system must scan through potentially hundreds of channels andother options, often by repeatedly pressing a button on a remotecontrol. Such an outdated approach is far too slow and inconvenient tofacilitate effective operation of a modern ITV system.

Similar problems exist with PC interfaces. The graphical user interface(GUI) of a modern PC looks remarkably similar to the first GUI developedtwenty years ago. Small icons representing user options are arranged inrows and columns on a graphical representation of a desktop. Many of theicons are identical, requiring the addition of text labels as adistinguishing feature. Typically, a user must individually examine eachicon and read each label—a time-consuming process that does not lenditself to effective navigation of the numerous options available in amodern PC.

Accordingly, it would be an advancement in the art to provide a userinterface that allows for rapid and efficient navigation of a pluralityof options without the drawbacks of conventional approaches. Inparticular, it would be an advancement in the art to provide aninterface in which a user need not repeatedly press a button to displayeach available option, as is often the case with conventional TV or ITVinterfaces. Likewise, it would be an advancement in the art to providean interface in which a user need not scan through an arrangement ofmultiple icons, as is the case in many conventional PC interfaces.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-exhaustive embodiments of the invention are described with referenceto the figures, in which:

FIG. 1 is a block diagram of an ITV system;

FIG. 2. is an illustration of a plurality of cards;

FIGS. 3–10 are illustrations of various techniques for focusednavigation of a plurality of options within a user interface;

FIG. 11 is a timing diagram for displaying a sequence of cards;

FIG. 12 is an illustration of a technique for filtering sequences ofcards;

FIG. 13 is an illustration of a sequence of cards representing filterswithin a user interface;

FIG. 14 is a schematic block diagram of a set-top box (STB);

FIG. 15 a flowchart of a method for focused navigation of a plurality ofoptions within a user interface; and

FIG. 16 is a flowchart of a method for focused navigation using filters.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular described feature, structure, orcharacteristic is included in at least one embodiment of the presentinvention. Thus, appearances of the phrases “in one embodiment” or “inan embodiment” in various places throughout this specification are notnecessarily all referring to the same embodiment.

Furthermore, the described features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments. In thefollowing description, numerous specific details are provided, such asexamples of programming, software modules, user selections, networktransactions, database queries, database structures, etc., to provide athorough understanding of embodiments of the invention. One skilled inthe relevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, etc. In other instances, well-knownstructures, materials, or operations are not shown or described indetail to avoid obscuring aspects of the invention.

While the following description makes particular reference to ITVsystems, it should be recognized that the present invention may be usedin conjunction with any type of information system in which selectableoptions may be displayed on a display screen. Examples of suchinformation systems include, but are not limited to, ITV systems,personal computers, and mobile computing devices, such as PDAs, webpads,cellular telephones, and the like.

Referring now to FIG. 1, there is shown a block diagram of an ITV system100 according to an embodiment of the invention. In one configuration,the ITV system 100 includes a television (TV) 102 or other displaydevice having a display screen 104, a set-top box (STB) 106, and aremote control 108.

The STB 106 serves as a gateway between the TV 102 and a broadbandcommunication network (not shown), such as a cable television network ora direct broadcast satellite (DBS) network. One commercially-availableexample of an STB 106 is the Motorola DCT5000® interactive set-topterminal.

The STB 106 receives encoded television signals and other data from thebroadband network and processes the same for display on the displayscreen 104. The STB 106 may also include hardware and software forpresenting a graphical user interface (GUI) 110 on the display screen104 for operating the various functions and services of the STB 106.

In alternative embodiments, the STB 106 may be integrated into the TV102, a mobile computing device, or the like. In still other embodiments,the term “STB” may broadly encompass a personal computer (PC) thatperforms STB-like functions. In such an embodiment, a PC may be used toprocess TV signals and other data received from the broadband network.The PC may operate in the context of a home network to provide displaysignals to a variety of devices, including one or more television sets,computer monitors, personal digital assistants (PDAs), cellular phones,and the like. A variety of home networking systems and protocols may beused, such as Ethernet, 802.11b, Bluetooth, etc.

The remote control 108 is provided for convenient remote operation ofthe STB 106 and the TV 102. The remote control 108 may include awireless transmitter 112 for transmitting control signals to a wirelessreceiver 114 within the STB 106 using radio frequency (RF) or infrared(IR) techniques.

In addition, the remote control 108 may include a number of buttons orother similar controls. For instance, the remote control 108 may includea “Up” button 116, a “Down” button 118, a “Left” button 120, a “Right”button 122, and a “Select” button 124. Of course, a variety of otherbuttons or controls may be provided within the scope of the invention.In alternative implementations, the remote control 108 may be embodiedas a keyboard, mouse, or other suitable input device.

As noted, an ITV system 100 typically provides access to a plurality ofselectable options, such as channels, programs, applications, digitalmedia files, etc. For instance, an ITV system 100 may provide access toliterally hundreds of broadcast TV channels, pay-per-view (PPV)channels, music channels, and the like. Additionally, an ITV system 100may provide access to a number of interactive channels or applications,including web browsers, e-mail programs, chat clients, personal videorecorder (PVR) applications, contact directories, and the like.Furthermore, an ITV system 100 may store or provide access to stored PVRrecordings, digital photographs, audio (MP3) files, or other forms ofdigital media.

As shown in FIG. 2, each selectable option within the ITV system 100 maybe associated with a card 200. A card 200 is an object or other suitabledata structure that provides information about and/or access to anavailable option within an ITV system 100. A card 200 may be a containerof all of the attributes, actions, and/or states needed to facilitateinteraction with the option represented thereby. Cards 200 may be storedin any suitable format within a memory or disk drive of the ITV system100.

Each card 200 may include a graphical representation 202 for display inthe GUI 110, as described in detail below. The graphical representation202 may include various types or combinations of artwork, digitalphotography, captured video frames, animations, or the like.

As depicted in FIG. 2, cards 200 a–c may be used to represent televisionprograms or channels. The television programs may be ongoing (live),upcoming, or previously-recorded. In addition to a graphicalrepresentation 202, such cards 200 may include, for instance, a channelnumber 204, a channel name or identifier 206, a starting time 208, arunning time 210, and a text description 212. Of course, cards 200representing other types of options may include additional or differenttypes of information, such as audio/video clips, file or path names,network addresses (URLs), etc.

The graphical representations 202 associated with cards 200 may havedifferent levels of specificity or granularity. For instance, agraphical representation 202 a may correspond generally to a televisionseries, e.g., “3^(rd) Rock from the Sun”, while another graphicalrepresentation 202 b may correspond to a television station or network,e.g., “CBS”. In other embodiments, a graphical representation 202 maycorrespond to a specific episode of a television series (e.g., a seriespremier), or even a product (purchase opportunity) associated with thetelevision program. In still other embodiments, a generic graphicalrepresentation 202 may be provided, which may be overlaid by the channelnumber 204, text description 212, or other information, where a morespecific card 200 is not available.

Cards 200 may be generated locally within an ITV system 100 or may bereceived via the broadband network using HTTP (hypertext transferprotocol), FTP (file transfer protocol), ATVEF (advanced televisionenhancement forum) triggers or other well-known protocols or techniques.In one embodiment, a card 200 may be received with data encoded in thevertical blanking interval (VBI) of a television signal. Additionally,information associated with cards 200 (e.g., channel number 204,starting time 208, running time 210) may be dynamically updated withinformation received in ATVEF triggers.

Referring to FIG. 3, a plurality of cards 200 may be linked or groupedtogether in a package or sequence 300. The sequence 300 may be circular(as depicted), linear, or configured in other ways. The sequence 300 maybe linked in numerical order by channel number 204, in alphabeticalorder by the text description 212, or in other preset or user-definedways. For instance, the sequence 300 may be determined based on one or acombination of other inputs, such as user profile information, userpreferences, external events or data feeds (e.g., telephone rings, PVRnotifications, alerts for external programming sources).

In the illustrated embodiment, one card 200 a in the sequence 300 isactive or in “focus”. As shown, the active card 200 a may be displayedwithin a focus area 302 of a GUI 110 displayed on the TV 102. Forbrevity, the phrase “displaying a card” refers herein to displaying agraphical representation 202 associated with the card 200. Otherinformation associated with the card, e.g., the channel number 204 ortext description 212, may or may not be displayed.

A focus area 302 is a single location of the GUI 110 at which the cards200 are successively displayed (displayed one at a time in sequence).The focus area 302 may be located at a central or visually dominantlocation of the GUI 110, although the invention is not limited in thisrespect. As used herein, the term “focused navigation” refers to atechnique of displaying a sequence 300 of cards 200 within a focus area302.

In response to a single user action, the cards 200 in a sequence 300 aresuccessively displayed within the focus area 302. Where the sequence 300is circular, the successive display of cards 200 may continueindefinitely until halted by the user by a subsequent action, asdescribed more fully below.

The single user action to initiate navigation may be pressing (orpressing and holding down) a button on the remote control 108. Forexample, the user may press the “Up” button 116 to initiate thesuccessive display in a first direction within the sequence 300(indicated by line 304), and press the “Down” button 118 to initiatenavigation in the opposite direction (indicated by line 306).Alternatively, the user may speak a command into a microphone (eitherwithin the STB 106 or remote control 108) to initiate navigation. Ofcourse, the user may initiate navigation in a variety of other wayswithin the scope of the invention.

In one embodiment, the sequence 300 of cards 200 is successivelydisplayed at a rate selected by the user. For instance, initiallypressing the “Up” button 116 may cause the sequence 300 to be displayedat a rate of two cards 200 per second. As the user continues to hold the“Up” button 116, the rate may increase gradually or in steps to anypractical rate within the limit of a typical user's ability to recognizeindividual cards 200 when they are displayed. Many users are able torecognize individual cards 200 at a rate of seven or more cards 200 persecond (420 per minute), facilitating rapid navigation of availableoptions.

The cards 200, when displayed within the focus area 302, may besufficiently large to permit user recognition from a comfortable viewingdistance for the particular display screen 104. Thus, unlike PC icons,which typically occupy as little as 1/200 of the display area of thedisplay screen 104, the displayed cards 200 (and the card 200 in thefocus area 302 in particular) may occupy between 1/10 and ¼ of the totaldisplay area.

When the user sees a card 200 being displayed of a channel or optionthat she desires to select or view, the user may take some additionalaction and the successive display of cards 200 is halted. For example,where navigation was initiated by pressing and holding down the “Up”button 116, the user may release the “Up” button 116 to discontinuenavigation. In an alternative embodiment, where the successive displaywas initiated simply by pressing a button, the user may press the sameor a different button to halt the successive display. Of course, theuser may discontinue navigation in a variety of other ways within thescope of the invention.

If the user's reaction time is fast enough, the card 200 representingthe desired channel remains displayed in the focus area 302 oncenavigation is discontinued. However, the user's reaction time may not befast enough and one or more cards 200 may be subsequently displayed. Insuch a case, the user may manually backtrack to the desired card 200 byrepeatedly activating a suitable control on the remote control 108. Forexample, briefly pressing the “Up” or “Down” buttons 116, 118 may resultin the previous or next card 200, respectively, being displayed.Alternatively, as described in greater detail below, the ITV system 100may attempt to determine the delay between the user recognizing thedesired card 200 and taking the subsequent action and compensate forthat delay by reverting to a previously-displayed card 200.

The user may select the channel or option associated with the displayedcard 200 by taking a selection action. For instance, the user may pressthe “Select” button 124 on the remote control 108. Alternatively, theselection action may simply be waiting a set amount of time withoutactivating any controls on the remote control 108.

The effect of activating the card 200 will vary dramatically dependingon the type of card 200. For instance, in the case of a card 200representing a live television program, the GUI 110 may be replaced by afull-size version of the program. Alternatively, activating a card 200corresponding to a purchase opportunity may result in the display of aweb browser directed to a particular website.

As shown in FIG. 4, one or more previous and next cards 200 within thesequence 300 may be displayed along an axis (not shown) of the GUI 110to provide the user with a more complete navigational context within thesequence 300. In one embodiment, the axis is an imaginary line thatextends across the GUI 110 in a particular direction and intersects thefocus area 302. For example, at least a subset of the sequence 300 ofcards 200 may be displayed along a vertical axis, with the active card200 a being displayed in the focus area 302. In alternative embodiments,the cards 200 may be displayed along horizontal or diagonal axes, or inother suitable ways.

Typically, one or more cards 200 in a sequence 300 are not displayed.These off-screen or hidden cards may be dynamically changed, replaced,or updated during navigation, e.g., a card 200 representing anadvertisement may change from one sponsor to another.

When a user activates one of the navigation buttons of the remotecontrol 108 (e.g., the “Up” or “Down” buttons 116, 118), the displayedcards 200 in the sequence 300 may be scrolled (e.g., shifted or cycled)downward or upward, respectively, with a new card (e.g., card 200 c or202 f) entering the focus area 302. Alternatively, the “Left” or “Right”button 120, 122 may be used for the same purpose.

As depicted, the card 200 a in the focus area 302 may be visuallyemphasized in various ways. For example, the card 200 a may be enlargedrelative to the other displayed cards 200. Alternatively, the card 200 amay be animated, marked, illuminated, highlighted, or otherwise setapart from the other cards 200.

In certain embodiments, if the user allows a card 200 representing alive television program to remain in the focus area 302 for a certainamount of time (e.g., 2 seconds), the card 200 a may be overlaid by avideo window 402 showing the live television program. Furthermore, ifthe user continues to linger on the card 200 a (or if the user pressesthe “Select” button 124), the video window 402 may be enlarged 402 tofill the entire display screen 104. Other types of cards 200 may exhibitdifferent types of behaviors when the card 200 remains in the focus area302 for an established period of time.

Where the cards 200 represent live television programs, a card 200corresponding to the currently-tuned channel (at the current date andtime) may be selected by default for display in the focus area 302 eachtime the GUI 110 is shown. This may occur, for instance, when the useris watching TV and presses a button (such as the “Select” button 124) inorder to display the GUI 110. Additionally, an indication of thecurrently-displayed card 200 in the focus area 302 may be stored innon-volatile memory or otherwise maintained such that if a resetcondition occurs (e.g., the STB 106 is rebooted or reset after a powerloss, etc.) the last-displayed card 200 may be restored to the focusarea 302.

Referring to FIG. 5, cards 200 may include one or more alternativegraphical representations 502, which may be displayed when the card 200enters the focus area 302. As depicted, cards 200 c–f displayed outsideof the focus area 302 are shown using a first graphical representation202 c–f. However, when the card 200 a enters the focus area 302, thealternative graphical representation 502 is shown. Providing analternative graphical representation 502 allows a designer to provide amore detailed or higher-resolution image for display in the focus area302, which may be enlarged relative to other graphical representations202 outside of the focus area 302.

In certain implementations, various types of supplemental information,such as text descriptions 212, may be displayed next to the graphicalrepresentations 202, 502 in the GUI 110 to aid the user in identifyingand knowing the status of the corresponding options. Sometimes agraphical representation 202 may simply be a picture or logo, which maynot be familiar to every user. The addition of a text description 212 ishelpful in such cases.

The text description 212 may be displayed above, below, or to the sideof the graphical representation 202, 502. Moreover, the text may be of asuitably large size to be easily discernable by the user from a normalviewing distance. During navigation, the text descriptions 212 areshifted or cycled with the corresponding graphical representations 202,502.

In the depicted embodiment, the text descriptions 212 identify atelevision programs or series, and are shown to the right of thecorresponding graphical representations 202. Of course, many other typesof text descriptions 212 may be provided, and different placements ororientations of the text descriptions 212 are contemplated.

As shown in FIG. 6, a text description 212 may be overlaid orsuperimposed over a graphical representation 202, 502. This may beaccomplished using various techniques, such as configuring a displayedcard 200 with multiple graphical “layers”, each layer representingeither the graphical representation 202, 502, a text description 212, orother display element.

In the depicted embodiment, a card 200 may include or be associated withother types of supplemental information, such as a title 602 and/orsynopsis 604, each of which may be likewise superimposed over thegraphical representation 502. All such information displayed on or inconnection with a card 200 is considered to be within the scope of theinvention.

In other embodiments, a program completion indicator 606 may bedisplayed on or near a graphical representation 202, 502 of a card 200.The program completion indicator 606 graphically (and/or textually)indicates the amount of a live television program that has been missedand/or is left to watch. The indicator 606 may take various forms, suchas the pie chart of FIG. 6 or the bar graph of FIG. 7. Additionally, theindicator 606 may include a numerical percentage indicative of theprogram's completion status. Such an indicator 606 may be valuable to auser in deciding whether to watch a program, particularly where aprogram is nearing completion.

The ITV system 100 may include a clock (not shown) that maintains anindication of the current time. Based on the starting time 208associated with a card 200, the ITV system 100 may calculate how much ofthe program has been missed and generate an appropriate graph and/ortext message. For instance, as shown in FIG. 6, if the current time is7:40 PM, a pie chart may indicate that 67% of “3^(rd) Rock from the Sun”has been missed. In the depicted embodiment, the program completionindicator 606 may be superimposed over the graphical representation 502as described above.

Referring to FIG. 7, a displayed card 200 may be accompanied by anstatus indicator 702 that provides status information concerning therepresented option. For instance, status indicator 702 may relate to thecurrent status (i.e. position, standing, state of affairs, condition,situation) of people, things, or events within an ongoing (live)television program.

For example, during a sporting event, such as a football or baseballgame, the status indicator 702 a may display the score, field position,down, inning, strike count, clock, etc. In other embodiments, the statusindicator 702 may indicate a person being interviewed on a talk show,the current prize level or question in a suitable game show (e.g., “WhoWants to be a Millionaire®”), or a description of an item beingcurrently offered on a shopping channel (e.g., QVC®).

In other embodiments, the status indicator 702 may relate generally tothe subject matter of a represented television program and not to anyevent being currently depicted. For instance, in the case of a card 200representing CNN/fn®, a status indicator 702 b may be embodied as astock ticker. Alternatively, a status indicator 702 c could include anews headline. Similarly, a weather forecast could be shown inconnection with a card 200 representing The Weather Channel®.

The status indicator 702 may be generated from information stored withinthe card 200. For instance, where a sporting event is being tapedelayed, score information may be stored within a corresponding card200, which may then be received by the ITV system 100. Alternatively,where the ITV system 100 already includes a card 200 representing thesporting event, score information within the card 200 may be updatedusing various techniques, such as ATVEF triggers. In still otherembodiments, the ITV system 100 may not store such information within acard 200, but may include a link, such as a URL, to a website from whichthe information may be retrieved on demand using HTTP or other suitableprotocols.

In one configuration, a card 200 may represent a television programrecorded by a PVR application with the ITV system 100. The card 200 mayinclude a file or path name (not shown) to a media file stored within ahard disk drive or the like of the ITV system 100. In such anembodiment, the status indicator 702 c may indicate when the program wasrecorded, whether the program has been watched, and/or how much of theprogram is left to watch.

Of course, a variety of other status indicators 702 may be provided fordifferent types of cards 200 indicating the status of functions,operations, or tasks associated with a represented option. All suchstatus indicators 702 used in connection with cards 200 are consideredto be within the scope of the invention.

All of the above-described supplemental information that may bedisplayed with cards 200, e.g., text descriptions 212, titles 602,synopses 604, program completion indicators 606, status indicators 702,and the like, may be fully user configurable, such that a user maydecide whether and how much of such information may be displayed.Moreover, the makeup and organization of displayed sequences 300 ofcards may be configured by a user in any suitable manner.

Referring to FIG. 8, multiple sequences 300 a–b including differenttypes of cards 200 may be displayed simultaneously. For instance, one ormore cards 200 from a sequence 300 a representing television programsmay be displayed as described in reference to FIG. 4. In addition, oneor more cards 200 from a sequence 300 b representing interactivechannels, applications, or digital media, may also be displayed.

As illustrated, the second sequence 300 b may be displayed horizontally,perpendicular to the first sequence 300 a, such that the sequences 300a–b intersect at (and define) the focus area 302. Any number ofsequences 300 may be displayed on the GUI 110 simultaneously. Of course,the selection of vertical and horizontal for the sequences 300 a–b ismerely exemplary and not required.

In the depicted embodiment, the “Up” and “Down” buttons 116, 118 may beused to shift or cycle the vertically-displayed sequence 300 a withinthe GUI 110 in order to bring one of the corresponding cards 200 a–einto the focus area 302. Likewise, the “Left” and “Right” buttons 120,122 may be used to shift or cycle the horizontally-displayed sequence300 b to bring one of the corresponding cards 200 g–k into the focusarea 302.

In one implementation, bringing a card 200 from one sequence 300 intothe focus area 302 will determine or change which other sequence 300 isdisplayed. For example, bringing the card 200 h (TV shape) from thehorizontal sequence 300 b into focus may result in the vertical sequence300 a (television programs) being displayed. Alternatively, bringing thecard 200 g (envelope shape) into focus may result in a vertical sequence300 (not shown) corresponding to e-mail messages or contacts. Likewise,bringing the card 200 i (videophone shape) into focus may result in avertical sequence 300 of a videoconferencing buddy list, while the card200 j (VCR shape) may display a vertical sequence 300 of televisionprograms recorded by a PVR. In alternative embodiments, a selection froma vertical sequence 300 may affect which horizontal sequence 300 isdisplayed.

Referring to FIG. 9, a number of context-sensitive areas 900 may beprovided within the GUI 110. As depicted, the context-sensitive areas900 may be quadrants of the GUI 110 formed by the intersection of twodisplayed sequences 300 a–b. Alternatively, the context-sensitive areas900 may be hemispheres formed by a single sequence 300. However, anynumber of context-sensitive areas 900 may be provided within the scopeof the invention. Unlike the embodiment depicted in FIG. 5, thecontext-sensitive areas 900 may be in fixed locations outside of thefocus area 302 or the area used by the displayed sequences 300 a–b.

In one embodiment, a context-sensitive area 900 a in a lower-rightquadrant of the GUI 100 may display supplemental information (e.g.,channel numbers 204, channel identifiers 206, starting times 208,running times 210, text descriptions 212, titles 602, synopses 604,program completion indicators 606, status indicators 702, etc.) relatedto the card 200 in the focus area 302. The supplemental information maybe obtained from the card 200, itself, or retrieved from a network usingHTTP, ATVEF triggers, or other suitable techniques.

Additionally, a context-sensitive area 900 b in an upper-right quadrantmay be used for displaying advertisements related to the card 200 in thefocus area 302.

For example, in an episode of “3^(rd) Rock from the Sun” featuring DickSolomon driving a new BMW®, a suitable graphical image, video clip,flash animation, or the like, may be displayed. The advertisement may bedisplayed in response to receipt of an ATVEF trigger by the ITV system100, although other mechanisms may be used within the scope of theinvention.

A context-sensitive area 900 c in an upper-left quadrant may be used forbranding purposes. For instance, as shown in FIG. 9, thecontext-sensitive area 900 c may show a logo for a provider (e.g., cableor satellite) of the television programs represented by the sequence 300a.

Finally, a context-sensitive area 900 d in a lower-left quadrant may beused to display system notes and instructional text. For example, wherethe user is navigating a sequence 300 a of cards 200 corresponding totelevision programs, instructional text may be provided that prompts theuser to select a television program. Other uses may include e-mail,videophone, or instant messaging notifications, reminders, warnings, orthe like.

The relative sizes of the context-sensitive areas 900 may varydepending, for instance, on the location of the intersection (focus area302) of the displayed sequences 300 a–b. If the intersection is near thecenter of the GUI 110, the context-sensitive areas 900 may be equal insize; otherwise, the relative sizes of the context-sensitive areas 900may vary.

In alternative embodiments, one or more areas of the GUI 110 may displayuser-specific or user-targeted information, i.e. customized informationfor a specific user. The information may be targeted based on a userprofile stored within or accessible to the ITV system 100. For instance,the ITV system 100 may be configured to display the BMW advertisement ofFIG. 9 if the user profile indicates that a user is a male, age 40 orabove, with an income exceeding $150,000 per year. Of course, a varietyof other user-specific or user-targeted information may be providedwithin the scope of the invention.

In certain implementations, a loop of sequentially-displayedsupplemental information items may be displayed within one or more ofthe context-sensitive areas 900 of the GUI 110. For instance, acontext-sensitive area 900 may display a sequence of advertisements,news headlines, weather reports, or other information. The individualitems may be configured to be displayed at or for certain time periods,as configured by the user or a content producer.

Multiple supplemental information loops may be displayed simultaneouslyin different context-sensitive areas 900. In such an embodiment, theloops may be synchronized in various ways. For instance, multiple loopsmay be synchronized in order to not simultaneously display an identicalor similar item of supplemental information in two or morecontext-sensitive areas 900. Likewise, multiple loops may besynchronized such that items of supplemental information may rotatethrough different context-sensitive areas 900 in a carousel fashion. Inthis manner, advertising need not always be displayed in the upper-rightarea 900 of the GUI 110.

As illustrated in FIG. 10, different types of cards 200 may be includedwithin a single sequence 300. For example, cards 200 c–f may correspondto television programs, while card 200 m represents a purchaseopportunity. In the depicted embodiment, card 200 m includes a graphicalrepresentation 202 m (advertisement), as well as a link or networkaddress 1002, such as a uniform resource locator (URL), to a commercialwebsite.

If the card 200 m remains in the focus area 302 for a sufficiently longperiod, or if the user presses the “Select” button 124, the displayedsequence 300 may be replaced by a web browser 1004, which isautomatically directed to the network address 1002 associated with thecard 200 m. Thereafter, the user may elect to proceed with the purchaseopportunity or return to the displayed sequence 300 of cards 200.

Referring to FIG. 11, there are shown three timing diagrams 1102, 1104,1106 illustrating the successive display of cards 200 according toembodiments of the invention. Each vertical line within the timingdiagrams represents a moment in time at which a particular card 200 isdisplayed. In diagram 1102, after a single user action, cards 200 aresuccessively displayed at moments 1106, 1108, 1110, and so on. When theuser takes some additional action to discontinue navigation, thesuccessive display of cards 200 may be halted at moment 1112.

In certain instances, the user's delayed response may be automaticallycompensated for by reverting to a previously displayed card 200 once theuser halts the successive display. For example, if a card 200representing a desired channel is displayed within the GUI 110 at moment1112, but the user takes the additional action to discontinue navigationat moment 1114, the ITV system 100 may be configured to automaticallyrevert to the card 200 displayed a suitable amount of time 1116 beforethe action was taken. The amount of time may be preset or user-defined,or may be calculated based on historical user reaction times.

The rate at which the cards 200 are successively displayed may beincreased in response to the user taking a suitable action. For example,as shown in timing diagram 1104, the rate at which cards 200 aresuccessively displayed may gradually increase from a minimum rate 1118to a maximum rate 1120 (preferably at or below the user's imagerecognition limit). Alternatively, as shown in timing diagram 1106, thedisplay rate may increase from a minimum rate 1122 to an intermediaterate 1124 to a maximum rate 1126 according to a stepwise function. Theuser action to increase the display rate may take many forms, such asholding down a button on the remote control 108 for a set amount oftime. In such case, the rate may be increased based on how long thebutton is held down. Alternatively, the user may increase the displayrate by repeatedly pressing a button on the remote control 108, in whichcase the rate may be increased each time the button is pressed.

FIG. 12 illustrates a technique for filtering sequences 300 of cards 200in order to generate shorter sequences 300 that can be more easilynavigated. In many instances, a sequence 300 may include hundreds ofcards 200, e.g., a sequence 300 representing all of the televisionprograms being currently broadcast. Accordingly, it would be anadvancement to allow a user to filter and thereby reduce a largesequence 300 to a manageable size that can be quickly searched.

As depicted, each card 200 may include one or more tags 1200. A tag 1200may indicate a genre, type, function, priority, or other characteristicof a card 200 or a represented option. A tag 1200 may be embodied as anXML tag, an object attribute, or other suitable indicator known in theart. As exemplified in FIG. 12, a tag 1200 may indicate a genre of atelevision program represented by a card 200 a (e.g., a sitcom).

One or more filters 1202 may be provided for filtering sequences 300 ofcards 200 based on the tags 1200. A filter 1202 may be embodied as anobject, a module of code, a data structure, a circuit, or other suitablemechanism for performing or assisting with the filtering function asdescribed herein. In one embodiment, a filter 1202 may include criteria,such as one or more search terms (e.g., keywords), search attributes,logical expressions, or the like, that may be compared with the tag(s)1200 of each card 200 in a sequence 300. If a tag 1200 is compatiblewith the criteria, the corresponding card 200 may be retained or copiedto a new sequence 300; otherwise, the card 200 may be removed or notcopied.

Filters 1202 may be predefined for certain popular categories, e.g.,sports, movies, or news. Such predefined filters may be initiallyprovided with the ITV system 100 or may be downloaded from a remoteserver via a broadband network.

Alternatively, filters 1202 may be explicitly defined by a user, e.g.,mySports, John's Favorite Movie Channels, etc. Such filters 1202 may becreated based on a viewer's answers to a series of questions relating tothe viewer's tastes or needs, e.g. “Do you like SciFi?” Additionally,filters 1202 may be implicitly defined based on historical viewinghabits or demographics. For instance, a “movies” filter 1202 may beautomatically generated where a user typically watches movies. Suchuser-defined filters 1202 may be created on a per-viewer orper-household basis. To enable per-viewer filtering, viewer's may loginto the ITV system 100 to indicate their presence using variousstandard techniques.

However the filters 1202 are received or generated, one or more filters1202 may be stored within a memory or storage device of the ITV system100, such as a random access memory (RAM) or hard disk drive.

As an example, a filter 1202 a may only select cards 200 from a sequence300 a that have a “sports” tag 1200. In one embodiment, the filter 1202a produces a new sequence 300 c that includes the card 200 e satisfyingthe filter 1202 a (e.g., Monday Night Football). Likewise, a filter 1202b may only select cards 200 that have a “sitcom” tag 1200. As a result,a new sequence 300 d may be created that includes cards 200 a and 200 c(e.g., 3^(rd) Rock from the Sun and M*A*S*H). In other embodiments, anew sequence 300 is not created, but the original sequence 300 a ismodified by application of the filter 1202.

As illustrated in FIG. 13, cards 200 may be used to represent filters1202. For instance, a card 200 p may represent a “sports” filter 1202,while a card 200 q may represent a “sitcom” filter 1202. The cards 200representing filters 1202 may be organized into a sequence 300 e, whichmay be navigated in the same manner as the other sequences 300previously discussed. For instance, the cards 200 corresponding tofilters 1202 (“filter cards”) may be displayed along a horizontal axisof the GUI 110. Accordingly, the sequence 300 e may be cycled or shiftedleft or right to bring a new filter card 200 into the focus area 302.

The effect of bringing a filter card 200 into focus may be to apply acorresponding filter 1202 to another sequence 300 of cards, such as thesequence 300 a representing television programs. For example, selectingthe “sitcom” filter card 200 may have the effect of applying the“sitcom” filter 1202 b to the sequence 300 a, resulting in a newsequence 300 d that only includes the cards 200 a and 200 c that arecompatible with the filter 1202 b.

The new, filtered sequence 300 d of cards 200 may then be displayedalong the vertical axis of the GUI 110 and may be navigated aspreviously described. Thus, by selecting the “sitcom” filter card 200along the horizontal axis, the user is presented with a new sequence 300d along the vertical axis corresponding only to sitcoms, rather than theentire sequence 300 a of available television programs. Of course, theassignment of vertical and horizontal axes in this example is arbitrary,as is the number and configuration of sequences 300.

In one embodiment, a text indication 1300 of the currently-appliedfilter 1202 may be displayed in the GUI 110, e.g. “Sitcoms”. The textindication 1300 may be taken from a text description 212, tag 1200 orthe like, associated with the card 200 being currently displayed in thefocus area 302.

FIG. 14 is a schematic block diagram of an STB 106 according to anembodiment of the invention. The illustrated components may be logicalor physical and may be implemented using any suitable combination ofhardware, software, and/or firmware.

In one configuration, the STB 106 includes a network interface 1402 forcommunicating with a broadband network, such as a cable televisionnetwork or a DBS (Direct Broadcast Satellite) network. The networkinterface 1402 may conform to the DOCSIS (Data Over Cable ServiceInterface Specification) or DAVIC (Digital Audio-Visual Council) cablemodem standards. Additionally, the network interface 1402 may includestandard circuitry for receiving MPEG (Moving Picture Experts Group)streams including multiplexed television programs and data from thebroadband network.

One or more sequences 300 of cards 200 may be received by the interface1402 from a server accessible via the broadband network or the Internet.Additionally, the network interface 1402 may be used to retrieve statusindicators 702, such as sports scores, stock tickers, news headlines,and the like, which may be displayed on or near a card 200. Moreover,the network interface 1402 may be configured to receive one or morefilters 1202. Such cards 200, indicators 702, and/or filters 1202 may beretrieved via HTTP, ATVEF triggers, or other mechanisms.

The STB 106 further includes a memory 1404, such as a random accessmemory (RAM) and/or read-only memory (ROM). The memory 1404 may store anoperating system (OS) for the STB 106 (e.g., Windows CE® or Linux®),application program code, and various types of data. In one embodiment,the memory 1404 stores one or more sequences 300 of cards 200, as wellas data for status indicators 702, filters 1200, and the like. In otherembodiments, the sequences 300 may be stored within a mass storagedevice 1406, such as a hard disk drive, optical storage device, or thelike. In certain configurations, the memory 1404 may be further adaptedto store one or more filters 1202 for filtering sequences 300 of cards200, as described in connection with FIG. 14.

An input interface 1408 may be provided for receiving commands from aninput device, such as a remote control 108. In one embodiment, the inputinterface 1408 may include or be associated with the wireless receiver114 described in connection with FIG. 1. The input interface 1408 maydetect a single user action for initiating navigation, such as the userpressing the “Up” or “Down” buttons 116, 118 on the remote control 108.

The STB 106 may further include a display interface 1410 for generatinga GUI 110 on an attached TV 102 or other display device. In addition,the display interface 1410 may be responsible for successivelydisplaying cards 200 from one or more stored (and possibly filtered)sequences 300 in a focus area 302 of the GUI 110 in response to thesingle user action being detected by the input interface 1408. Likewise,the display interface 1410 may be responsible for halting the successivedisplay in response to detection of a subsequent user action.Additionally, the display interface 1410 may be used to display varioustypes of supplemental information on or in connection with cards 200,such as text descriptions 212, program completion indicators 606, statusindicators 702, and the like. The display interface 1410 may be adaptedto display supplemental information with the corresponding graphicalrepresentation 202, 502 using different graphical layers, which arecombined to form the card 200 as displayed in the GUI 110.

A tuner 1412 may be included for demodulating and demultiplexingselected MPEG streams received by the STB 106 from the broadbandnetwork. The tuner 1412 may be used to tune to a particular televisionprogram in response to a user selection of a card 200, e.g., in responseto the user pressing the “Select” button 124 or when the user “lingers”on a card 200 in the focus area 302.

A CPU 1414 controls the operation of the STB 106, including the othercomponents described above, which may be in electrical communicationwith the CPU 1414 via a bus 1416. The CPU 1414 may be embodied as amicroprocessor, a microcontroller, a digital signal processor (DSP) orother device known in the art. For instance, the CPU 1414 may beembodied as an Intel® x86 processor. The CPU 1414 may perform logicaland arithmetic operations based on program code stored within the memory1404 or the mass storage device 1406.

Of course, FIG. 14 illustrates only one possible configuration of an STB106. Those skilled in the art will recognize that various otherarchitectures and components may be provided within the scope of theinvention. In addition, various standard components are not illustratedin order to avoid obscuring aspects of the invention.

Referring to FIG. 15, there is shown a flowchart of a method 1500 forfocused navigation of a plurality of options within a GUI 110. Themethod 1500 begins by storing 1502 a sequence 300 of cards 200representing channels or other available options within an ITV system100. Supplemental information not already included within a card 200 mayalso be obtained 1503, such as a status indicator 702, using HTTP, ATVEFtriggers, or other techniques. The supplemental information may bepre-cached by the ITV system 100 prior to the cards 200 being displayedor may be retrieved just in time to be displayed with the correspondingcards 200.

In one configuration, the method 1500 waits 1504 for user input. When asingle user action is detected 1506, as previously discussed, the cards200 from the sequence 300 are successively displayed 1508 in a focusarea 302 of the GUI 110. In addition, any supplemental informationassociated with the cards 200 may also be displayed within or outside ofthe focus area 302 (e.g., a context-sensitive area 900). This successivedisplay continues until a subsequent user action is detected 1510, atwhich point the successive display is discontinued and a single card 200corresponding to a selected option is displayed 1512 within the focusarea 302.

Thereafter, depending on the particular type of card 200, variousactions may be taken if the user actively selects the card 200 (e.g.,presses the “Select” button 124 on the remote control 108) or waitsbeyond an established time period to either select the card 200,continue navigation, or take some other action. For example, a card 200in the focus area 302 may be replaced by a video window 402 showing alive television program after a period of inaction (lingering) by theuser.

Referring to FIG. 16, there is shown a flowchart of a method 1600 forfocused navigation of a plurality of options using filtering. While theembodiment of FIG. 16 relates to the field of interactive television,those skilled in the art will recognize that a wide variety of otherapplications may be provided within the scope of the invention.

The method 1600 begins by storing 1602 a sequence 300 of cards 200representing television programs. For instance, the sequence 300 mayrepresent all of the television programs being currently broadcast.Alternatively, the sequence 300 may represent recorded televisionprograms, or programs that are available on demand, e.g.,video-on-demand (VoD).

Additionally, a sequence 300 is stored that represents one or morefilters 1202, as described above in connection with FIGS. 12–13. Thefilter cards 200 may be displayed 1606 along a first (e.g., horizontal)axis of the GUI 110, with a single card 200 being displayed within thefocus area 302. In one embodiment, the card 200 in the focus area 302defines the currently-selected filter 1202. Thus, the system may receive1608 a user selection of a filter 1202 using the navigation techniquesdescribed above.

The sequence 300 of cards 200 representing television programs is thenfiltered 1610 according to the selected filter 1202. For instance, cards200 may be removed from the sequence 300 that do not satisfy thefiltering criteria associated with the selected filter 1202.Alternatively, a new sequence 300 of cards 200 may be created (e.g.,copied from a source sequence 300 to a destination sequence 300) thatsatisfies the filter 1202.

Thereafter, the filtered sequence 300 may be displayed along a second(e.g., vertical) axis of the GUI 110. A user selection of a card fromthe television sequence 300 may then be obtained 1614, after which thesystem may tune 1616 to the selected television program.

In view of the foregoing, the present invention offers a number ofadvantages not available in conventional approaches. Cards representingavailable channels or options within an ITV system may be successivelyand rapidly displayed within a focus area. Because navigation isinitiated by a single user action, the user need not repeatedly press abutton to display each channel, as is often the case with conventionalTV or ITV interfaces. This greatly increases navigation speed, reduceswear on the remote control, and reduces the likelihood of discomfort orinjury to the user's hand.

Likewise, because the cards are all displayed within a single area ofthe user interface (i.e. the focus area), the cards may be displayed ata relatively high rate of speed, while still being within the user'simage recognition threshold. Typically, the focused navigation techniqueof the claimed invention allows a user to more quickly and efficientlylocate and select a desired option than conventional approaches where alarge number of available options exist.

Furthermore, cards may be used to represent filters, which may beapplied to large sequences of cards (e.g., sequences representing TVprograms) to selectively reduce the sequence to a manageable size. Forinstance, a user may select a “sports” filter card, which results inonly the cards representing sports programs being displayed.

While specific embodiments and applications of the present inventionhave been illustrated and described, it is to be understood that theinvention is not limited to the precise configuration and componentsdisclosed herein. Various modifications, changes, and variationsapparent to those skilled in the art may be made in the arrangement,operation, and details of the methods and systems of the presentinvention disclosed herein without departing from the spirit and scopeof the invention.

1. A computer-implemented method for navigating a plurality of optionswithin a user interface, the method comprising: providing a firstsequence of cards, each card graphically representing an availableoption; providing a user interface including a focus area intersected bya first axis and a second axis, the first axis being perpendicular tothe second axis; displaying a set of cards representing filters alongthe second axis; receiving a selection of a filter in response to a userscrolling the set of filter cards along the second axis to align acorresponding filter card with the focus area; filtering the firstsequence of cards according to the selected filter to reduce in numberthe first sequence of cards to produce a second sequence of cards; anddisplaying at least a subset of the second sequence of cards along thefirst axis, one card being displayed within the focus area.
 2. Themethod of claim 1, further comprising: scrolling the second sequence ofcards along the first axis in response to a single user action toprogressively change the card within the focus area to a next card inthe second sequence; and halting the scrolling of cards in response to asubsequent user action to show a selected card from the second sequencewithin the focus area.
 3. The method of claim 1, wherein each filtercomprises filtering criteria, and wherein filtering comprises: comparingeach card in the first sequence to the filtering criteria of theselected filter; and copying each card from the first sequence thatmatches the filtering criteria to the second sequence.
 4. The method ofclaim 3, wherein the filtering criteria comprises one of a search term,a search attribute, and a logical expression.
 5. The method of claim 3,wherein each card comprises at least one tag, and wherein comparingcomprises: comparing the at least one tag of each card to the filteringcriteria of the selected filter.
 6. The method of claim 5, wherein atleast one tag is selected from the group consisting of an XML tag and anobject attribute.
 7. The method of claim 5, wherein at least one tagindicates a characteristic of a card selected from the group consistingof a genre, a type, a function, and a priority.
 8. The method of claim1, wherein each filter comprises filtering criteria, and whereinfiltering comprises: comparing each card in the first sequence to thefiltering criteria of the selected filter; and copying each card fromthe first sequence that does not match the filtering criteria to thesecond sequence.
 9. The method of claim 1, further comprising: storing athird sequence of cards, each card graphically representing a filter.10. The method of claim 9, wherein the focus area is intersected by asecond axis, and wherein receiving a user selection comprises:displaying at least a subset of the third sequence of cards along thesecond axis, one card from the third sequence being displayed within thefocus area.
 11. The method of claim 10, wherein the selected filtercorresponds to the card from the third sequence within the focus area.12. The method of claim 10, wherein the first axis is perpendicular tothe second axis.
 13. The method of claim 10, wherein the first axiscomprises a vertical axis and the second axis comprises a horizontalaxis.
 14. The method of claim 10, wherein receiving a user selectionfurther comprises: scrolling the third sequence of cards along thesecond axis in response to a single user action to progressively changethe card within the focus area to a next card in the third sequence; andhalting the scrolling of cards in response to a subsequent user actionto show a selected card from the third sequence within the focus area.15. The method of claim 1, wherein at least one filter is predefined.16. The method of claim 15, wherein each card in the first sequencerepresents a television program, and wherein at least one predefinedfilter is configured to select television programs from a genre selectedfrom the group consisting of sports, movies, and news.
 17. The method ofclaim 1, wherein at least one filter is explicitly defined by a user.18. The method of claim 1, wherein at least one filter is implicitlydefined based on one of historical viewing habits and demographics. 19.The method of claim 1, wherein the at least one filter is received vianetwork.
 20. The method of claim 1, wherein each filter comprisesfiltering criteria, and wherein each filter comprises program codeconfigured to filter the first sequence of cards according to thefiltering criteria to produce the second sequence of cards.
 21. Themethod of claim 1, further comprising automatically generating a filterfor at least one filter card based on historical viewing selections bythe user.
 22. The method of claim 1, further comprising automaticallygenerating a filter for at least one filter card based on a userdemographics.
 23. The method of claim 1, further comprisingautomatically generating a filter for at least one filter card based ona plurality of survey questions answered by the user.
 24. A system fornavigating a plurality of options within a user interface, the systemcomprising: a memory for storing a first sequence of cards, each cardgraphically representing an available option, the memory also storing aset of filter cards, each filter card representing a filter forfiltering the first sequence of cards to reduce in number the firstsequence of cards to produce a second sequence of cards; a displayinterface for presenting a focus area intersected by a first axis and asecond axis, the first axis being perpendicular to the second axis, atleast a subset of the filter cards being displayed along the first axis;and an input interface for receiving a user selection of a filter inresponse to the at least a subset of filter cards being scrolled alongthe first axis to align a corresponding filter card with the focus area;wherein the display interface is to display, in response to selection ofa filter, at least a subset of the second sequence of cards along thesecond axis, one card being displayable within the focus area.
 25. Thesystem of claim 24, wherein the selected filter comprises filteringcriteria, and wherein the selected filter is further adapted to compareeach card in the first sequence to the filtering criteria and copy eachcard from the first sequence that matches the filtering criteria to thesecond sequence.
 26. The system of claim 25, wherein the filteringcriteria comprises one of a search term, a search attribute, and alogical expression.
 27. The system of claim 25, wherein each cardcomprises at least one tag, and wherein the selected filter is furtheradapted to compare the at least one tag of each card to the filteringcriteria.
 28. The system of claim 27, wherein at least one tag isselected from the group consisting of an XML tag and an objectattribute.
 29. The system of claim 27, wherein at least one tagindicates a characteristic of a card selected from the group consistingof a genre, a type, a function, and a priority.
 30. The system of claim24, wherein the selected filter comprises filtering criteria, andwherein the selected filter is further adapted to compare each card inthe first sequence to the filtering criteria of the selected filter andcopy each card from the first sequence that does not match the filteringcriteria to the second sequence.
 31. The system of claim 24, wherein thememory is further adapted to store a third sequence of cards, each cardgraphically representing a filter.
 32. The system of claim 31, whereinthe focus area is intersected by a second axis, and wherein the displayinterface is further adapted to display at least a subset of the thirdsequence of cards along the second axis, one card from the thirdsequence being displayed within the focus area.
 33. The system of claim32, wherein the selected filter corresponds to the card from the thirdsequence within the focus area.
 34. The system of claim 32, wherein thefirst axis is perpendicular to the second axis.
 35. The system of claim32, wherein the first axis comprises a vertical axis and the second axiscomprises a horizontal axis.
 36. The system of claim 32, wherein thedisplay interface is further adapted to scroll the third sequence ofcards along the second axis in response to a single user action toprogressively change the card within the focus area to a next card inthe third sequence and halt the scrolling of cards in response to asubsequent user action to show a selected card from the third sequencewithin the focus area.
 37. The system of claim 24, wherein at least onefilter is predefined.
 38. The system of claim 37, wherein each card inthe first sequence represents a television program, and wherein at leastone predefined filter is configured to select television programs from agenre selected from the group consisting of sports, movies, and news.39. The system of claim 24, wherein at least one filter is explicitlydefined by a user.
 40. The system of claim 24, wherein at least onefilter is implicitly defined based on one of historical viewing habitsand demographics.
 41. The system of claim 24, further comprising: anetwork interface for receiving at least one filter via a network. 42.The system of claim 24, wherein each filter comprises filteringcriteria, and wherein each filter comprises program code configured tofilter the first sequence of cards according to the filtering criteriato produce the second sequence of cards.
 43. A system for navigating aplurality of options within a user interface, the system comprising:means for providing a first sequence of cards, each card graphicallyrepresenting an available option; means for providing a user interfaceincluding a focus area intersected by a first axis and a second axis,the first axis being perpendicular to the second axis; means fordisplaying a set of cards representing filters along the second axis;means for receiving a selection of a filter in response to a userscrolling the set of filter cards along the second axis to align acorresponding filter card with the focus area; means for filtering thefirst sequence of cards according to the selected filter to reduce innumber the first sequence of cards to produce a second sequence ofcards; and means for displaying at least a subset of the second sequenceof cards along the first axis, one card being displayed within the focusarea.
 44. A computer program product comprising a computer-readablemedium including program code for performing a method for navigating aplurality of options within a user interface, the method comprising:providing a first sequence of cards, each card graphically representingan available option; providing a user interface including a focus areaintersected by a first axis and a second axis, the first axis beingperpendicular to the second axis; receiving a selection of a filter inresponse to a user scrolling the set of filter cards along the secondaxis to align a corresponding filter card with the focus area; filteringthe first sequence of cards according to the selected filter to reducein number the first sequence of cards to produce a second sequence ofcards; and displaying at least a subset of the second sequence of cardsalong the first axis, one card being displayable within the focus area.45. A computer-implemented user interface for navigating a plurality ofoptions, the user interface comprising: a focus area; a first axisintersecting the focus area; a second axis intersecting the focus area,the second axis being perpendicular to the first axis; a first sequenceof cards displayed along the first axis, each card graphicallyrepresenting a filter, one card being displayed within the focus area;and a second sequence of cards displayed along the second axis, thesecond sequence of cards comprising a filtered subset of a thirdsequence of cards reduced in number based on the filter represented bythe card within the focus area.
 46. A computer-implemented method fornavigating a plurality of television programming options within a userinterface of an interactive television system, the method comprising:storing a first sequence of cards, each card graphically representing anavailable television programming option; storing a set of genre filtercards, each genre filter card having an associated genre filter forreducing in number the first sequence of cards according to genrecriteria; providing a user interface including a focus area intersectedby a first axis and a second axis, the first axis being perpendicular tothe second axis; receiving a user selection of a particular genre filtercard representing a genre filter in response to a user scrolling the setof genre filter cards along the second axis to align the particulargenre filter card with the focus area; filtering the first sequence ofcards according to the selected genre filter to reduce in number thefirst sequence of cards to produce a second sequence of cards;displaying at least a subset of the second sequence of cards along thefirst axis, one card being displayed within the focus area; scrollingthe second sequence of cards along the first axis in response to asingle user action to progressively change the card within the focusarea to a next card in the second sequence; and halting the scrolling ofcards in response to a subsequent user action to show a selected cardfrom the second sequence within the focus area.
 47. The method of claim46, further comprising displaying a channel represented by the selectedcard within the focus area in response to a user command.
 48. Acomputer-implemented method for navigating a plurality of televisionprogramming options within a user interface of an interactive televisionsystem, the method comprising: displaying a set of genre filter cardsalong a first axis of a user interface, one genre filter card beingdisplayable within a focus area of the user interface; allowing a userto affirmatively select a particular genre filter card within the focusarea; filtering a second sequence of cards representing televisionprogramming options according to a genre filter associated with theselected genre filter card to reduce in number the second sequence ofcards to produce a third sequence of cards; and displaying at least asubset of the third sequence of cards along a second axis, the secondaxis being perpendicular to the first axis and intersecting the firstaxis within the focus area, one card of the third sequence beingdisplayable within the focus area.